// pages/message/message.js
const app = getApp()
// import TIM from '../../utils/im/tim-wx';
// import COS from '../../utils/im/cos-wx-sdk-v5';
// let options = {
//   SDKAppID: 1400411226 // 接入时需要将0替换为您的即时通信应用的 SDKAppID
// };
// let tim = TIM.create(options); // SDK 实例通常用 tim 表示
// // 设置 SDK 日志输出级别，详细分级请参见 setLogLevel 接口的说明
// // tim.setLogLevel(0); // 普通级别，日志量较多，接入时建议使用
// tim.setLogLevel(1); // release级别，SDK 输出关键信息，生产环境时建议使用
var tim = app.imInit.tim
var TIM = app.imInit.TIM
Page({

  /**
   * 页面的初始数据
   */
  data: {
    conversationList: [],
    userId: wx.getStorageSync('userId'),

  },

  getConversationList() {
    let that = this
    // 拉取会话列表
    //   获取会话列表的接口，该接口会尝试同步最新的100条会话，在同步完成后返回 SDK 内部维护的会话列表。 调用时机：需要刷新会话列表时
    // 注意1：该接口获取的会话列表中的资料是不完整的（仅包括头像、昵称等，能够满足会话列表的渲染需求），若要查询详细会话资料，可参考：getConversationProfile 
    // 注意2：会话保存时长跟会话最后一条消息保存时间一致，消息默认保存7天，即会话默认保存7天。
    let promise = tim.getConversationList();
    promise.then(function (imResponse) {
      const conversationList = imResponse.data.conversationList; // 会话列表，用该列表覆盖原有的会话列表
      // console.log('拉取会话列表', conversationList);
      that.setData({
        conversationList: conversationList
      })
    }).catch(function (imError) {
      console.warn('getConversationList error:', imError); // 获取会话列表失败的相关信息
    });
  },
  // 去聊天页面
  tochat(e) {
    var userId = e.currentTarget.dataset.id
    var conversationID = e.currentTarget.dataset.conversationid
    app.imInit.setMessageRead(conversationID)
    wx.navigateTo({
      url: `/pages/messageChat/messageChat?userId=${userId}`,
    })
  },

  // 监听新消息
  watchMessage() {
    let that = this
    var watchMessageName = function (event) {
      // 收到推送的单聊、群聊、群提示、群系统通知的新消息，可通过遍历 event.data 获取消息列表数据并渲染到页面
      // event.name - TIM.EVENT.MESSAGE_RECEIVED
      // event.data - 存储 Message 对象的数组 - [Message]
      // console.log('22222222222222222');
      that.getConversationList()
    }
    tim.on(TIM.EVENT.MESSAGE_RECEIVED, watchMessageName);
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.getConversationList()
    this.watchMessage()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    //传当前页面的tim 进来
    let watchMessageName = function (event) {
      // 收到推送的单聊、群聊、群提示、群系统通知的新消息，可通过遍历 event.data 获取消息列表数据并渲染到页面
      // event.name - TIM.EVENT.MESSAGE_RECEIVED
      // event.data - 存储 Message 对象的数组 - [Message]
    };
  
    tim.off(TIM.EVENT.MESSAGE_RECEIVED, watchMessageName);

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})